package com.molichuxing.services.business.dto.response;

import com.molichuxing.framework.dto.ResponseRootDto;
import com.molichuxing.services.property.CarsOperateStatusEnum;
import com.molichuxing.services.property.CarsTypeEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

/**
 * <p>
 * 车辆详细信息
 * </p>
 *
 * @author 
 * @since 2019-08-15
 */
@Data
public class CarDetailBizDto extends ResponseRootDto {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    private Integer carId;

    /**
     * 车架号
     */
    private String vin;

    /**
     * 牌照号
     */
    private String licencePlate;

    /**
     * 发动机/电机号编号
     */
    private String engineCode;

    /**
     * 车型id
     */
    private Integer vehicleId;

    /**
     * 生产年份
     */
    private Integer produceYear;

    /**
     * 车身颜色id
     */
    private Integer vehicleColorId;

    /**
     * 合格证编号
     */
    private String certificateCode;

    /**
     * 购车发票URL
     */
    private String purchaseInvoice;

    /**
     * 购车发票图片URL
     */
    private String purchaseInvoiceImg;

    /**
     * 出厂合格证URL
     */
    private String factoryCert;

    /**
     * 出厂合格证图片URL
     */
    private String factoryCertImg;

    /**
     * 一致性合格证URL
     */
    private String uniformityCert;

    /**
     * 一致性合格证图片URL
     */
    private String uniformityCertImg;

    /**
     * 车辆登记证URL
     */
    private String registerCard;

    /**
     * 行驶证URL
     */
    private String drivingLicense;

    /**
     * 完税证明URL
     */
    private String taxProof;


    /**
     * 车辆类型（0：新车，1：二手车）
     */
    private Integer vehicleType;

    /**
     * 车辆类型Str
     */
    @ApiModelProperty(value = "车辆类型")
    private String vehicleTypeStr;

    /**
     * 运营状态
     */
    private String statusStr;

    /**
     * 运营状态（0：待出租，1：已出租，2：不可租）
     */
    private Integer status;

    public void setVehicleType(int vehicleType) {
        this.vehicleType = vehicleType;
        this.vehicleTypeStr = CarsTypeEnum.getName(vehicleType);
    }

    public void setStatus(Integer status) {
        this.status = status;
        this.statusStr = CarsOperateStatusEnum.getName(status);
    }

    /**
     * 资产id
     */
    private Integer ownershipId;
}
